home *** CD-ROM | disk | FTP | other *** search
-
-
- // wysylanie plikow
-
- #ifndef __TLEN_PLUGIN_FILE_H__
- #define __TLEN_PLUGIN_FILE_H__
-
- #define TLEN_FILE_CALLFUNCTION "Tlen/File/CallFunction"
-
- // wysylanie plikow
- #define TLEN_FILE_SEND 1
- // wtyczka moze sie zarejestrowac jako menadzer transferu plikow, wtedy
- // bedzie otrzymywala zdarzenia zwiazane z przesylaniem plikow
- #define TLEN_FILE_REGISTER_MANAGER 2
- // wyrejestrowuje managera
- #define TLEN_FILE_UNREGISTER_MANAGER 3
- // anulowanie wysylania/odbierania pliku
- #define TLEN_FILE_CANCEL 4
- // ponawianie wysylania/odbierania pliku
- #define TLEN_FILE_RETRY 5
- // chwilowe zatrzymanie wysylania/odbierania pliku
- #define TLEN_FILE_STOP 6
-
- // sluzy do pobierania katalogu w ktorym maja byc zapisane pliki
- // WPARAM wskaznik na zainicjalizowana strukture TlenFileDirectoryBuffer
- // zwraca zero jesli udalo sie skopiowac do bufora lub dlugisc sciezki w przypadku bledu
- #define TLEN_FILE_GET_DIRECTORY 16
-
- // sluzy do sprawdzania czy nalezy zamknac okno po zakonczeniu przesylania plikow
- // zwraca 1 jesli nalezy zamknac to okno lub 0 jesli nie
- #define TLEN_FILE_CLOSE_WINDOW 17
-
- // sluzy do sprawdzania czy ma odbierac automatycznie czy sie pytac
- // jesli 1 to automatycznie odbieraj od osob z listy jesli zero to zawsze pytaj
- #define TLEN_FILE_AUTOMATIC_ANSWER 18
-
- // sluzy do sprawdzania czy nalezy odgrywac dzwiek przy przyjsciu pliku
- #define TLEN_FILE_PLAY_SOUND 19
-
- // sluzy do sprawdzania czy zostaly ustawione niestandardowe opcje
- #define TLEN_FILE_NONSTANDARD_SETTINGS 20
-
- // czy ma pokazywac liste plikow przed odebraniem?
- #define TLEN_FILE_SHOW_LIST 21
-
-
- typedef struct
- {
- int structSize;
- char * buffer; /// wskaznik na bufor
- int length; /// dlugosc bufora
- } TlenFileDirectoryBuffer;
-
- enum
- {
- TLEN_FILE_EVENT_NONE = 0, // nic
- TLEN_FILE_EVENT_CONNECTED, // polaczono
- TLEN_FILE_EVENT_PROGRESS, // progress wysylania/odbierania pliku
- TLEN_FILE_EVENT_DONE, // pomyslnie wyslano lub odebrano plik
- TLEN_FILE_EVENT_ERROR, // blad podczas wysylania lub odbierania pliku
- TLEN_FILE_EVENT_STARTED, // zaczelo sie wysylanie lub odbieranie pliku
- // core wysyla w tym evencie informacje o pliku, nadawcy, odbiorcy itp
- // wtyczka zwraca id, ktory nadala dla tego transferu
- // te id jest pozniej uzywane do dalszej komunikacji
- TLEN_FILE_EVENT_SHOW, // pokaz okno managera plikow na pierwszym planie
- };
-
- #define TLEN_FILE_FLAG_SENDING 1 // wysylanie
-
- typedef struct
- {
- int structSize;
- ttuint8 type; // typ eventu
- ttuint32 userID; // id transferu, dla eventu STARTED wtyczka ustawia te id
- // dla pozostalych eventow te pole identyfikuje dany transfer
- } TlenFileEvent;
-
- // event mowiacy o postepie w wysylaniu / odbieraniu pliku
- typedef struct
- {
- int structSize;
- ttint64 bytes; // ile juz wyslano/odebrano pliku w bajtach
- } TlenFileEventProgress; // postep wysylania/odbierania pliku
-
- // zdarzenie bledu
- typedef struct
- {
- int structSize;
- ttuint8 type; // typ bledu
- char *message; // tresc bledu
- } TlenFileEventError;
-
- // rozpoczecie wysylania lub odbierania pliku
- // flaga SENDING okresla czy jest to wysylanie czy odbieranie
- // w tym evencie wtyczka zwraca id transferu, ktore bedzie uzywane w dalszej
- // komunikacji wtyczka<->core
- typedef struct
- {
- int structSize; // wielko£µ struktury w bajtach
- ttuint16 flags; // flagi
- char *protocolID; // id protokolu np PROTOCOL_ID_TLEN, PROTOCOL_ID_GG
- char *sender; // nadawca
- char *receiver; // odbiorca
- char *path; // sciezka do pliku
- char *outname; // nazwa pliku docelowego
- ttint64 offset; // przesuniecie w pliku, od ktorego zaczynamy wysylac
- ttint64 size; // wielkosc pliku
- } TlenFileEventStarted;
-
- typedef int (*TlenFileCallback) (TlenFileEvent *event, void *data);
-
- // struktura opisujaca wysylany plik
- typedef struct
- {
- int structSize; //wielko£µ struktury w bajtach
- char *protocolID; // id protokolu np PROTOCOL_ID_TLEN, PROTOCOL_ID_GG
- char *sender; // nadawca
- char *receiver; // odbiorca
- char *path; // sciezka do pliku
- char *outname; // nazwa pliku docelowego
- ttint64 offset; // przesuniecie w pliku, od ktorego zaczynamy wysylac
- TlenFileCallback callback; // callback uruchamiany w przypadku roznych zdarzen
- } TlenFileSend;
-
- // struktura opisujaca menadzera transferow
- // do funkcji register i unregister
- typedef struct
- {
- int structSize;
- TlenFileCallback callback; // funkcja obslugi zdarzen
- } TlenFileRegisterManager;
-
- // struktura do funkcji cancel, retry i stop
- typedef struct
- {
- int structSize;
- ttuint32 userID; // id transferu
- char *protocolID;
- } TlenFileTransfer;
-
-
- #endif
-
-